package com.insigma.business.qrcode.soldier.util;


public class FieldUtils {

    public static Double objectToDouble(Object o) {
        if (o == null) {
            return null;
        }

        if (o instanceof String) {
            return Double.valueOf((String) o);
        }

        if (o instanceof Long) {
            return Double.valueOf((Long) o);
        }

        if (o instanceof Double) {
            return (Double) o;
        }
        return null;
    }

    public static Integer objectToInteger(Object o) {
        if (o == null) {
            return null;
        }

        if (o instanceof String) {
            return Integer.valueOf((String) o);
        }

        if (o instanceof Long) {
            return ((Long) o).intValue();
        }

        if (o instanceof Integer) {
            return (Integer) o;
        }
        return null;
    }

    public static Integer objectToIntegerWithZero(Object o) {
        if (o == null) {
            return 0;
        }

        if (o instanceof String) {
            return Integer.valueOf((String) o);
        }

        if (o instanceof Long) {
            return ((Long) o).intValue();
        }

        if (o instanceof Integer) {
            return (Integer) o;
        }
        return 0;
    }

    public static String toString(Object o) {
        if (o == null) {
            return null;
        }
        return o.toString();
    }
}
